package design.singleton;

/**
 * <p>
 * 枚举方式实现单例（JDK > 1.5）：
 * 没有延迟加载
 * 支持自动序列化
 * 绝对防止多次实例化
 * 容易实现
 *
 * </P>
 *
 * @author dingwen
 * @date 2021.10.14 16:35
 */
public class Singleton6 {
    private Singleton6() {
    }

    /**
     * 定义一个静态枚举类
     *
     * @author Administrator
     * @date 2021/10/14
     */
    static enum SingletonEum {
        /**
         * instance
         */
        INSTANCE;

        private final Singleton6 singleton6;

        /**
         * 单例设计
         */
        private SingletonEum() {
            singleton6 = new Singleton6();
        }

        /**
         * 获得实例
         *
         * @return {@link Singleton6}
         */
        public Singleton6 getInstance() {
            return singleton6;
        }


    }

    public static Singleton6 getInstance() {
        return SingletonEum.INSTANCE.getInstance();
    }

}
